//一、请说出下列最终的执行结果，并解释为什么？
var a = [];
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6]();


/**
 * 输出的结果为10
 * 因为i是全局变量，当程序执行到a[6]()时，i的值已经是10
 * 此时调用a[6]()执行的是console.log(10)
 * 所以输出的是10
 * 
 * 处理解决上述问题，一般采用的是用let定义块级作用域的变量
 * 
 * 
 * 
 * 
 * 
 * 
 */